package service

import (
	"errors"
	"gitee.com/gopher2011/litemall/app/dao"
	"gitee.com/gopher2011/litemall/library/util"
)

// 全局公开对象
var Admin = adminService{}

// 管理员表
// 私有对象，所有的方法都绑定到这个结构体上。
type adminService struct{}

func (p *adminService) Create(arg dao.Admin) (int64, error) {
	exist, err := dao.AdminDao.Exist(arg.Username)
	if err != nil {
		return 0, err
	}
	if len(exist) > 0 {
		return 0, errors.New("管理员已经存在")
	}
	arg.Password = util.Md5(arg.Password)
	return dao.AdminDao.InsertTemplate(arg)
}

// delete 管理员不能删除自己账号
func (p *adminService) Delete(arg dao.Admin) (int64, error) {

	return 0, nil
}

func (p *adminService) Update(arg dao.Admin) (int64, error) {
	return dao.AdminDao.UpdateNoPass(arg)
}
